/*2、题目：设计一个圆类，要求有圆心坐标，圆半径属性，要求具有设置和获取的方法，
以及计算周长和面积的方法，定义一个圆柱体类，继承自圆类，增加的属性有高度，增加设置和获取高度的方法，
计算表面积和体积的方法，创建圆柱体类的对象，显示所有属性信息并且计算表面积和体积。
 */
package demo;
class Circle{
    private  double x;
    private  double y;
    private double r;//半径

    public Circle(double x, double y, double r) {
        this.x = x;
        this.y = y;
        this.r = r;
    }

    public double getX() {
        return x;
    }

    public void setX(double x) {
        this.x = x;
    }

    public double getY() {
        return y;
    }

    public void setY(double y) {
        this.y = y;
    }

    public double getR() {
        return r;
    }

    public void setR(double r) {
        this.r = r;
    }
    //周长
    public double getPer(double r){
        return 2*r*Math.PI;
    }
    //面积
    public double getArea(double r){
        return Math.PI*r*r;
    }
}
class Column extends Circle{
    private double z;

    public Column(double x, double y, double z,double r) {
        super(x, y, r);
        this.z = z;
    }

    public double getZ() {
        return z;
    }
    public void setZ(double z) {
        this.z = z;
    }

    //表面积
    public double superficialArea() {
       return super.getArea(super.getR())*2+super.getPer(super.getR() )*z;
    }
    //体积
    public double volume(){
        return super.getArea(super.getR())*z;
    }
    //显示信息
    public void show(){
        System.out.println("圆心坐标：（"+super.getX()+","+super.getY()+","+z+")");
        System.out.println("圆的半径:"+super.getR());
        System.out.println("圆的表面积"+superficialArea());
        System.out.println("圆的体积："+volume());
    }
}
public class Test {
    public static void main(String[] args) {
        Column column=new Column(2,3,5,4);
        column.show();
    }
}
